Issues in the Runtime Modification of Software Architectures
نویسنده
چکیده
Existing software architecture research has focused on static architectures, where the system architecture is not expected to change during system execution. We argue that the architectures of many systems, especially long running or mission critical systems, evolve during execution, and thus cannot be accurately modeled and analyzed using static architectures. To overcome these problems, we propose the use of dynamic architectures, where the system architecture may change during execution. In this paper, we identify the issues involved in supporting dynamic architectures. Although some of these issues may be addressed by augmenting current models (i.e., adding constructs that support dynamism to existing architectural description languages), many are new to dynamic architectures (i.e., runtime support for modifying architectures). We describe an initial implementation of our tool, ArchShell, that supports the runtime modification of C2-style software architectures.
منابع مشابه
Architectural Styles for Adaptable Self-Healing Dependable Systems
Of all the possible architectural approaches to improving the dependability of software-based systems, only systems designed to be self-healing are able to adapt themselves at runtime in response to changing environmental or operational circumstances. In this paper, we discuss the basic functional requirements for self-healing systems, and explore a number of major issues related to architectur...
متن کاملRuntime Concepts of Hierarchical Software Components
Components have become a widely accepted concept used in building large-scale applications. Although the concept of a component is not really new, it is generally not clear how to deal with the component abstraction at runtime. This manifests in the fact that nowadays component systems can be basically divided (a) to those being rich in advanced features (e.g., hierarchical components, software...
متن کاملCycle Time Reduction and Runtime Rebalancing by Reallocating Dependent Tasks
Business Process Management Systems (BPMS) is a complex information system that provides designing, administrating, and improving the business processes. Task allocation to human resources is one of the most important issues which should be managed more efficiently in BPMS. Task allocation algorithms are defined in order to meet the various policies of organizations. The most important of these...
متن کاملAn Aspect-Oriented Approach for Supporting Autonomic Reconfiguration of Software Architectures
The increasing complexity of current software systems is encouraging the development of self-managed software architectures, i.e. systems capable of reconfiguring their structure at runtime to fulfil a set of goals. Several approaches have covered different aspects of their development, but some issues remain open, such as the maintainability or the scalability of self-management subsystems. Ce...
متن کاملHigh-Level Support for Pipeline Parallelism on Many-Core Architectures
With the increasing architectural diversity of many-core architectures the challenges of parallel programming and code portability will sharply rise. The EU project PEPPHER addresses these issues with a component-based approach to application development on top of a taskparallel execution model. Central to this approach are multi-architectural components which encapsulate different implementati...
متن کامل